As personal information processing devices such as personal computers are furnished with greater functionality, there is greater demand for image input devices such as scanners and digital cameras that convert image data such as photographs to digital data and load the digital data.
An ordinary scanner is equipped with an photoelectric transducer such as a CCD for reading image data. The scanner is so adapted that a read RGB analog image signal is subjected to suitable processing and then converted to digital data, with the data being output upon being stored in a buffer or the like.
An image processing circuit for binarizing multivalued image data that has been read comprises an input masking circuit for converting read RGB data on a per-pixel basis to data on a per-line basis and storing the data in a first buffer; a filter processing circuit for reading out data from the first buffer, applying edge emphasis and smoothing processing and storing the resultant data in a second buffer; a scaling processing circuit for reading out data from the second buffer and executing a resolution conversion and scaling conversion; a binarizing circuit for subjecting data, which is output from the scaling processing circuit, to logarithmic conversion, black-color extraction, gamma conversion and binarization (or multivalue conversion), and storing the resultant data in a third buffer; and an output interface circuit for reading out data from the third buffer and outputting the data to a device connected to a succeeding stage.
In processing according to the prior art, all data that has been input to the input masking circuit is processed by the input masking circuit and filter processing circuit, and the processed data is stored in the second buffer.
The scaling processing circuit interpolates (e.g., by linear interpolation) input image data that has been read out from the second buffer, thereby obtaining an output value. FIG. 8 illustrates the manner in which output data is obtained from input data in the vicinity of a desired output image position. In FIG. 8, the value of output pixel data P is represented by a function of input pixel data A, B, C, D at four points surrounding this pixel, spacing L between the input pixels in the main-scan direction and spacing Ls between the input pixels in the sub-scan direction, and distance from one point among the four points of the input pixels to the output pixel (namely distance n along the main-scan direction and distance m along the sub-scan direction).
If resolution is lowered or size reduced by the scaling processing circuit, there are cases where unnecessary input data not used in processing in order to obtain a desired output value is generated. For example, if processing for reducing size by 33.3% is executed, one pixel of unnecessary input data will be produced for every three pixels in the main-scan direction and one line of unnecessary data will be produced for every three lines in the sub-scan direction.
However, since all data is processed by the filter processing circuit in the conventional image processing circuit as mentioned above, the filter processing circuit executes processing for storing data in the second buffer unconditionally even though the data may not be necessary in the scaling processing circuit.
Accordingly, processing executed by circuits from the scaling processing circuit onward is required to wait until the filter processing circuit finishes storing the unnecessary data and storage of the next item of effective data is completed. As a consequence, processing speed declines owing to needless waiting time.